﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;

namespace AfterlifeLib
{
    public class World
    {
        ContentManager contentManager;
        protected ContentManager Content
        {
            get { return contentManager; }
        }

        GraphicsDevice graphicsDevice;
        protected GraphicsDevice GraphicsDevice
        {
            get { return graphicsDevice; }
        }

        SpriteBatch spriteBatch;
        protected SpriteBatch SpriteBatch
        {
            get { return spriteBatch; }
        }

        public World(ContentManager content, GraphicsDevice graphicsDevice, SpriteBatch spriteBatch)
        {
            this.contentManager = content;
            this.graphicsDevice = graphicsDevice;
            this.spriteBatch = spriteBatch;
        }

        public virtual void Initialize()
        {

        }

        public virtual void LoadContent()
        {

        }

        public virtual void UnloadContent()
        {

        }

        public virtual void Update(GameTime gameTime)
        {

        }

        public virtual void Draw(GameTime gameTime)
        {

        }

        public static T Get<T>(World world) where T : World
        {
            return (T)world;
        }
    }
}
